<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /* 闭包的缺点：
              *函数执行完，函数内的局部变量没有释放，占用内存的时间会变长
              *容易造成内存泄露
            如何解决：及时释放  
        */
       /* 1.内存溢出
              *一种程序运行出现的错误
              *当程序运行需要的内存超过了剩余的内存时，就会抛出内存溢出的错误
          2.内存泄露
              *占用的内存没有及时释放
              *内存泄露积累多了，就容易导致内存溢出
          3.常见的内存泄露
              *意外的全局变量
              *没有及时清理定时器和回调函数
              *没有及时释放闭包    
       */
       var obj = {};
       for (var i = 0; i < 1000000; i++){
           obj[i] = new Array(100000);
           console.log("---");
       }
       //结果：: Out of Memory（内存不足）    
    </script>
</head>
<body>
    
</body>
</html>